import { Camera } from '../../cameras/Camera'
import { Material } from '../../materials/Material'
import { WebGLProperties } from './WebGLProperties'

export class WebGLClipping {
	constructor(properties: WebGLProperties)

	uniform: { value: any; needsUpdate: boolean }

	/**
	 * @default 0
	 */
	numPlanes: number

	/**
	 * @default 0
	 */
	numIntersection: number

	init(planes: any[], enableLocalClipping: boolean, camera: Camera): boolean
	beginShadows(): void
	endShadows(): void
	setState(material: Material, camera: Camera, useCache: boolean): void
}
